home *** CD-ROM | disk | FTP | other *** search
/ Computer Inter@ctive 17 / Computer Interactive cdrom 17 - gen 99.iso / ZDNETIT / CONTENT / OPTIVDOS.ZIP / INCLUDE.ZIP / VFMATH.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-21  |  19.9 KB  |  381 lines

  1. /*  VFmath.h
  2.  
  3.   vector management functions:
  4.   math functions performed on each individual element of an
  5.   array or vector of the data type "float";   real numbers
  6.  
  7.   Copyright (c) 1996-1998 by Martin Sander
  8.   All Rights Reserved.
  9. */
  10.  
  11. #ifndef __VFMATH_H
  12. #define __VFMATH_H
  13.  
  14. #ifndef __VFSTD_H 
  15. #include <VFstd.h>
  16. #endif
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22.  
  23.  
  24. /**************************  Rounding **********************************/
  25.  
  26. int  __vf   VF_round(  fVector  Y, fVector X, ui size );
  27. int  __vf   VF_roundtoSI( siVector Y, fVector X, ui size );
  28. int  __vf   VF_roundtoI(  iVector  Y, fVector X, ui size );
  29. int  __vf   VF_roundtoLI( liVector Y, fVector X, ui size );
  30. int  __vf   VF_roundtoQI( qiVector Y, fVector X, ui size );
  31. int  __vf   VF_roundtoUS( usVector Y, fVector X, ui size );
  32. int  __vf   VF_roundtoU(  uVector  Y, fVector X, ui size );
  33. int  __vf   VF_roundtoUL( ulVector Y, fVector X, ui size );
  34.  
  35. int  __vf   VF_floor(  fVector  Y, fVector X, ui size );
  36. int  __vf   VF_floortoSI( siVector Y, fVector X, ui size );
  37. int  __vf   VF_floortoI(  iVector  Y, fVector X, ui size );
  38. int  __vf   VF_floortoLI( liVector Y, fVector X, ui size );
  39. int  __vf   VF_floortoQI( qiVector Y, fVector X, ui size );
  40. int  __vf   VF_floortoUS( usVector Y, fVector X, ui size );
  41. int  __vf   VF_floortoU(  uVector  Y, fVector X, ui size );
  42. int  __vf   VF_floortoUL( ulVector Y, fVector X, ui size );
  43.  
  44. int  __vf   VF_ceil(  fVector  Y, fVector X, ui size );
  45. int  __vf   VF_ceiltoSI( siVector Y, fVector X, ui size );
  46. int  __vf   VF_ceiltoI(  iVector  Y, fVector X, ui size );
  47. int  __vf   VF_ceiltoLI( liVector Y, fVector X, ui size );
  48. int  __vf   VF_ceiltoQI( qiVector Y, fVector X, ui size );
  49. int  __vf   VF_ceiltoUS( usVector Y, fVector X, ui size );
  50. int  __vf   VF_ceiltoU(  uVector  Y, fVector X, ui size );
  51. int  __vf   VF_ceiltoUL( ulVector Y, fVector X, ui size );
  52.  
  53. int  __vf   VF_chop(  fVector  Y, fVector X, ui size );
  54. int  __vf   VF_choptoSI( siVector Y, fVector X, ui size );
  55. int  __vf   VF_choptoI(  iVector  Y, fVector X, ui size );
  56. int  __vf   VF_choptoLI( liVector Y, fVector X, ui size );
  57. int  __vf   VF_choptoQI( qiVector Y, fVector X, ui size );
  58. int  __vf   VF_choptoUS( usVector Y, fVector X, ui size );
  59. int  __vf   VF_choptoU(  uVector  Y, fVector X, ui size );
  60. int  __vf   VF_choptoUL( ulVector Y, fVector X, ui size );
  61.  
  62. #define VF_trunc      VF_chop
  63. #define VF_trunctoSI  VF_choptoSI
  64. #define VF_trunctoI   VF_choptoI
  65. #define VF_trunctoLI  VF_choptoLI
  66. #define VF_trunctoQI  VF_choptoQI
  67. #define VF_trunctoUS  VF_choptoUS
  68. #define VF_trunctoU   VF_choptoU
  69. #define VF_trunctoUL  VF_choptoUL
  70.  
  71. #if defined V_HUGE
  72.       #define   VF_roundtoUI    VF_roundtoUL
  73.       #define   VF_floortoUI    VF_floortoUL
  74.       #define   VF_ceiltoUI     VF_ceiltoUL
  75.       #define   VF_choptoUI     VF_choptoUL
  76.       #define   VF_trunctoUI    VF_trunctoUL
  77. #else
  78.       #define   VF_roundtoUI    VF_roundtoU
  79.       #define   VF_floortoUI    VF_floortoU
  80.       #define   VF_ceiltoUI     VF_ceiltoU
  81.       #define   VF_choptoUI     VF_choptoU
  82.       #define   VF_trunctoUI    VF_trunctoU
  83. #endif
  84.  
  85. /********************  Comparisons ********************************/
  86.  
  87. void __vf   VF_cmp0(    fVector Y, fVector X, ui size );
  88. ui   __vf   VF_cmp_eq0( fVector Y, fVector X, ui size );
  89. ui   __vf   VF_cmp_ne0( fVector Y, fVector X, ui size );
  90. ui   __vf   VF_cmp_le0( fVector Y, fVector X, ui size );
  91. ui   __vf   VF_cmp_lt0( fVector Y, fVector X, ui size );
  92. ui   __vf   VF_cmp_ge0( fVector Y, fVector X, ui size );
  93. ui   __vf   VF_cmp_gt0( fVector Y, fVector X, ui size );
  94.  
  95. ui   __vf   VF_cmp_eq0ind( uiVector Ind, fVector X, ui size );
  96. ui   __vf   VF_cmp_ne0ind( uiVector Ind, fVector X, ui size );
  97. ui   __vf   VF_cmp_le0ind( uiVector Ind, fVector X, ui size );
  98. ui   __vf   VF_cmp_lt0ind( uiVector Ind, fVector X, ui size );
  99. ui   __vf   VF_cmp_ge0ind( uiVector Ind, fVector X, ui size );
  100. ui   __vf   VF_cmp_gt0ind( uiVector Ind, fVector X, ui size );
  101.  
  102. void __vf   VF_cmpC(    fVector Y, fVector X, ui size, float C );
  103. ui   __vf   VF_cmp_eqC( fVector Y, fVector X, ui size, float C );
  104. ui   __vf   VF_cmp_neC( fVector Y, fVector X, ui size, float C );
  105. ui   __vf   VF_cmp_leC( fVector Y, fVector X, ui size, float C );
  106. ui   __vf   VF_cmp_ltC( fVector Y, fVector X, ui size, float C );
  107. ui   __vf   VF_cmp_geC( fVector Y, fVector X, ui size, float C );
  108. ui   __vf   VF_cmp_gtC( fVector Y, fVector X, ui size, float C );
  109.  
  110. ui   __vf   VF_cmp_eqCind( uiVector Ind, fVector X, ui size, float C );
  111. ui   __vf   VF_cmp_neCind( uiVector Ind, fVector X, ui size, float C );
  112. ui   __vf   VF_cmp_leCind( uiVector Ind, fVector X, ui size, float C );
  113. ui   __vf   VF_cmp_ltCind( uiVector Ind, fVector X, ui size, float C );
  114. ui   __vf   VF_cmp_geCind( uiVector Ind, fVector X, ui size, float C );
  115. ui   __vf   VF_cmp_gtCind( uiVector Ind, fVector X, ui size, float C );
  116.  
  117. void __vf   VF_cmpV(    fVector Z, fVector X, fVector Y, ui size );
  118. ui   __vf   VF_cmp_eqV( fVector Z, fVector X, fVector Y, ui size );
  119. ui   __vf   VF_cmp_neV( fVector Z, fVector X, fVector Y, ui size );
  120. ui   __vf   VF_cmp_leV( fVector Z, fVector X, fVector Y, ui size );
  121. ui   __vf   VF_cmp_ltV( fVector Z, fVector X, fVector Y, ui size );
  122. ui   __vf   VF_cmp_geV( fVector Z, fVector X, fVector Y, ui size );
  123. ui   __vf   VF_cmp_gtV( fVector Z, fVector X, fVector Y, ui size );
  124.  
  125. ui   __vf   VF_cmp_eqVind( uiVector Ind, fVector X, fVector Y, ui size );
  126. ui   __vf   VF_cmp_neVind( uiVector Ind, fVector X, fVector Y, ui size );
  127. ui   __vf   VF_cmp_leVind( uiVector Ind, fVector X, fVector Y, ui size );
  128. ui   __vf   VF_cmp_ltVind( uiVector Ind, fVector X, fVector Y, ui size );
  129. ui   __vf   VF_cmp_geVind( uiVector Ind, fVector X, fVector Y, ui size );
  130. ui   __vf   VF_cmp_gtVind( uiVector Ind, fVector X, fVector Y, ui size );
  131.  
  132. /********************  Standard Arithmetics   ***************************/
  133.  
  134. void  __vf  VF_equC( fVector X, ui size, float C );
  135. void  __vf  VF_equV( fVector Y, fVector X, ui size );
  136. void  __vf  VFx_equV( fVector Y, fVector X, ui size, float A, float B );
  137.  
  138. void  __vf  VF_addC(  fVector Y, fVector X, ui size, float C );
  139. void  __vf  VF_subC(  fVector Y, fVector X, ui size, float C );
  140. void  __vf  VF_subrC( fVector Y, fVector X, ui size, float C );
  141. void  __vf  VF_mulC(  fVector Y, fVector X, ui size, float C );
  142. void  __vf  VF_divC(  fVector Y, fVector X, ui size, float C );
  143. void  __vf  VF_divrC( fVector Y, fVector X, ui size, float C );
  144. void  __vf  VFx_divrC( fVector Y, fVector X, ui size, float A, float B, float C );
  145.  
  146. void  __vf  VF_addV(  fVector Z, fVector X, fVector Y, ui size );
  147. void  __vf  VF_subV(  fVector Z, fVector X, fVector Y, ui size );
  148. void  __vf  VF_subrV( fVector Z, fVector X, fVector Y, ui size );
  149. void  __vf  VF_mulV(  fVector Z, fVector X, fVector Y, ui size );
  150. void  __vf  VF_divV(  fVector Z, fVector X, fVector Y, ui size );
  151. void  __vf  VF_divrV( fVector Z, fVector X, fVector Y, ui size );
  152.  
  153. void  __vf  VFx_addV(  fVector Z, fVector X, fVector Y, ui size, float A, float B );
  154.                               /* Z = (A*X+B) + Y  */
  155. void  __vf  VFx_subV(  fVector Z, fVector X, fVector Y, ui size, float A, float B );
  156. void  __vf  VFx_subrV( fVector Z, fVector X, fVector Y, ui size, float A, float B );
  157. void  __vf  VFx_mulV(  fVector Z, fVector X, fVector Y, ui size, float A, float B );
  158. void  __vf  VFx_divV(  fVector Z, fVector X, fVector Y, ui size, float A, float B );
  159. void  __vf  VFx_divrV( fVector Z, fVector X, fVector Y, ui size, float A, float B );
  160.  
  161. void  __vf  VFs_addV( fVector Z, fVector X, fVector Y, ui size, float C ); /* Z=C*(X+Y) */
  162. void  __vf  VFs_subV( fVector Z, fVector X, fVector Y, ui size, float C );
  163. void  __vf  VFs_mulV( fVector Z, fVector X, fVector Y, ui size, float C );
  164. void  __vf  VFs_divV( fVector Z, fVector X, fVector Y, ui size, float C );
  165.  
  166. void  __vf  VF_maxC(   fVector Y, fVector X, ui size, float C );
  167. void  __vf  VF_minC(   fVector Y, fVector X, ui size, float C );
  168. void  __vf  VF_limit(  fVector Y, fVector X, ui size, float Min, float Max );
  169. void  __vf  VF_flush0( fVector Y, fVector X, ui size, float AbsMin );
  170. void  __vf  VF_maxV(   fVector Z, fVector X, fVector Y, ui size );
  171. void  __vf  VF_minV(   fVector Z, fVector X, fVector Y, ui size );
  172. void  __vf  VF_modC(   fVector Y, fVector X, ui size, float C );
  173. void  __vf  VF_modV(   fVector Z, fVector X, fVector Y, ui size );
  174. void  __vf  VFx_modV(  fVector Z, fVector X, fVector Y, ui size, float A, float B );
  175. #define     VF_fmodC    VF_modC
  176. #define     VF_fmodV    VF_modV
  177. #define     VFx_fmodV   VFx_modV
  178.  
  179. void __vf  VF_redC(  fVector Y, fVector X, ui size, float C );
  180. void __vf  VF_redV(  fVector Z, fVector X, fVector Y, ui size );
  181. void __vf  VFx_redV( fVector Z, fVector X, fVector Y, ui size, float A, float B );
  182. void __vf  VF_visC(  fVector Y, fVector X, ui size, float C );
  183. void __vf  VF_visV(  fVector Z, fVector X, fVector Y, ui size );
  184. void __vf  VFx_visV( fVector Z, fVector X, fVector Y, ui size, float A, float B );
  185. void __vf  VF_hypC(  fVector Y, fVector X, ui size, float C );
  186. void __vf  VF_hypV(  fVector Z, fVector X, fVector Y, ui size );
  187. void __vf  VFx_hypV( fVector Z, fVector X, fVector Y, ui size, float A, float B );
  188.  
  189. void __vf VF_lincomb( fVector Z, fVector X, fVector Y, ui size,
  190.                       float CX, float CY );  /* Z=CX*X+CY*Y */
  191.  
  192. #define VF_sgn    VF_cmp0
  193.  
  194. /***************** Functions of a sub-set of elements  ********************/
  195.  
  196. void  __vf  VF_subvector_equC(  fVector Y, ui subsiz, unsigned samp, float C );
  197. void  __vf  VF_subvector_equV(  fVector Y, ui subsiz, unsigned samp, fVector X );
  198.  
  199. void  __vf  VF_subvector_addC(  fVector Y, ui subsiz, unsigned samp, float C );
  200. void  __vf  VF_subvector_subC(  fVector Y, ui subsiz, unsigned samp, float C );
  201. void  __vf  VF_subvector_subrC( fVector Y, ui subsiz, unsigned samp, float C );
  202. void  __vf  VF_subvector_mulC(  fVector Y, ui subsiz, unsigned samp, float C );
  203. void  __vf  VF_subvector_divC(  fVector Y, ui subsiz, unsigned samp, float C );
  204. void  __vf  VF_subvector_divrC( fVector Y, ui subsiz, unsigned samp, float C );
  205.  
  206. void  __vf  VF_subvector_addV(  fVector Y, ui subsiz, unsigned samp, fVector X );
  207. void  __vf  VF_subvector_subV(  fVector Y, ui subsiz, unsigned samp, fVector X );
  208. void  __vf  VF_subvector_subrV( fVector Y, ui subsiz, unsigned samp, fVector X );
  209. void  __vf  VF_subvector_mulV(  fVector Y, ui subsiz, unsigned samp, fVector X );
  210. void  __vf  VF_subvector_divV(  fVector Y, ui subsiz, unsigned samp, fVector X );
  211. void  __vf  VF_subvector_divrV( fVector Y, ui subsiz, unsigned samp, fVector X );
  212.  
  213.  
  214.  
  215. /*********************  Mathematical Functions ***********************/
  216.  
  217. int   __vf   VF_abs( fVector Y, fVector X, ui size );
  218. int   __vf   VF_neg( fVector Y, fVector X, ui size );
  219. int   __vf   VF_inv( fVector Y, fVector X, ui size );
  220. int   __vf   VFx_inv( fVector Y, fVector X, ui size, float A, float B );
  221. int   __vf   VF_intfrac( fVector Int, fVector Frac, fVector X, ui size );
  222. #define      VF_modf    VF_intfrac
  223. int   __vf   VF_mantexp( fVector Mant, iVector Exp, fVector X, ui size );
  224. #define      VF_frexp   VF_mantexp
  225.  
  226. int  __vf    VF_hypotC( fVector Y, fVector X, ui size, float C );
  227. int  __vf    VF_hypotV( fVector Z, fVector X, fVector Y, ui size );
  228. int  __vf    VFx_hypotV( fVector Z, fVector X, fVector Y, ui size, float A, float B );
  229.  
  230. int  __vf    VF_scale2( fVector Y, fVector X, ui size, int expo );
  231. int  __vf    VF_scale10( fVector Y, fVector X, ui size, int expo );
  232. #define      VF_ldexp    VF_scale2
  233.  
  234. int  __vf    VF_square( fVector Y, fVector X, ui size );
  235. int  __vf    VFx_square( fVector Y, fVector X, ui size, float A, float B );
  236. int  __vf    VF_cubic( fVector Y, fVector X, ui size );
  237. int  __vf    VFx_cubic( fVector Y, fVector X, ui size, float A, float B );
  238. int  __vf    VF_quartic( fVector Y, fVector X, ui size );
  239. int  __vf    VFx_quartic( fVector Y, fVector X, ui size, float A, float B );
  240. int  __vf    VF_poly( fVector Y, fVector X, ui size, fVector Coeff, unsigned deg );
  241. int  __vf    VFx_poly( fVector Y, fVector X, ui size, fVector Coeff, unsigned deg, float A, float B );
  242. int  __vf    VF_ipow( fVector Y, fVector X, ui size, int ipow );
  243. int  __vf    VFx_ipow( fVector Y, fVector X, ui size, int ipow, float A, float B, float C );
  244.                            /*  ipow = integer power of x */
  245. int  __vf    VF_ipow2(  fVector Y, iVector X, ui size );
  246. int  __vf    VF_ipow10( fVector Y, iVector X, ui size );
  247.                           /* ipow2 and ipow10: integer powers of 2 and 10 */
  248.  
  249. int  __vf   VF_pow(    fVector Y, fVector X, ui size, float expo );
  250. int  __vf   VFx_pow(   fVector Y, fVector X, ui size, float expo, float A, float B, float C );
  251.  
  252. int  __vf   VF_pow2(   fVector Y, fVector X, ui size );
  253. int  __vf   VFx_pow2(  fVector Y, fVector X, ui size, float A, float B, float C );
  254. int  __vf   VF_pow10(  fVector Y, fVector X, ui size );
  255. int  __vf   VFx_pow10( fVector Y, fVector X, ui size, float A, float B, float C );
  256.             /* pow2 and pow10: basis 2 or 10 raised to power x */
  257.  
  258. int  __vf   VF_sqrt(  fVector Y, fVector X, ui size );
  259. int  __vf   VFx_sqrt( fVector Y, fVector X, ui size, float A, float B, float C );
  260.  
  261. int  __vf   VF_log(    fVector Y, fVector X, ui size );
  262. int  __vf   VF_log2(   fVector Y, fVector X, ui size );
  263. int  __vf   VF_log10(  fVector Y, fVector X, ui size );
  264. #define     VF_ln      VF_log
  265. int  __vf   VFx_log(   fVector Y, fVector X, ui size, float A, float B, float C );
  266. int  __vf   VFx_log2(  fVector Y, fVector X, ui size, float A, float B, float C );
  267. int  __vf   VFx_log10( fVector Y, fVector X, ui size, float A, float B, float C );
  268. #define     VFx_ln     VFx_log
  269.  
  270. int  __vf   VF_exp(   fVector Y, fVector X, ui size );
  271. int  __vf   VFx_exp(  fVector Y, fVector X, ui size, float A, float B, float C );
  272. int  __vf   VF_expArbBase(  fVector Y, fVector X, ui size, float Base );
  273. int  __vf   VFx_expArbBase( fVector Y, fVector X, ui size, float Base,
  274.                             float A, float B, float C );
  275. int  __vf   VF_expc(  fVector Y, fVector X, ui size );
  276. int  __vf   VFx_expc( fVector Y, fVector X, ui size, float A, float B, float C );
  277.                 /* expc(x) = 1 - exp(x)  */
  278. int  __vf   VF_expmx2(  fVector Y, fVector X, ui size );
  279. int  __vf   VFx_expmx2( fVector Y, fVector X, ui size, float A, float B, float C );
  280.                 /* expmx2(x) = exp( -x**2 )  */
  281. int  __vf   VF_exp2(  fVector Y, fVector X, ui size );
  282. int  __vf   VFx_exp2( fVector Y, fVector X, ui size, float A, float B, float C );
  283. int  __vf   VF_exp10(  fVector Y, fVector X, ui size );
  284. int  __vf   VFx_exp10( fVector Y, fVector X, ui size, float A, float B, float C );
  285.                 /*  exp2 and exp10 used as synonyms for pow2 and pow10 */
  286.  
  287. int  __vf   VF_Gauss(   fVector Y, fVector X, ui size, float Wid, float Cent, float C );
  288. int  __vf   VF_Lorentz( fVector Y, fVector X, ui size, float Wid, float Cent, float C );
  289.  
  290. int  __vf   VF_sin(     fVector Y, fVector X, ui size );
  291. int  __vf   VFx_sin(    fVector Y, fVector X, ui size, float A, float B, float C );
  292. int  __vf   VF_cos(     fVector Y, fVector X, ui size );
  293. int  __vf   VFx_cos(    fVector Y, fVector X, ui size, float A, float B, float C );
  294. int  __vf   VF_sincos(  fVector Sin, fVector Cos, fVector X, ui size );
  295. int  __vf   VFx_sincos( fVector Sin, fVector Cos, fVector X, ui size, float A, float B, float C );
  296.  
  297. int  __vf   VF_tan(     fVector Y, fVector X, ui size );
  298. int  __vf   VFx_tan(    fVector Y, fVector X, ui size, float A, float B, float C );
  299. int  __vf   VF_cot(     fVector Y, fVector X, ui size );
  300. int  __vf   VFx_cot(    fVector Y, fVector X, ui size, float A, float B, float C );
  301.  
  302. int  __vf   VF_sec(     fVector Y, fVector X, ui size );
  303. int  __vf   VFx_sec(    fVector Y, fVector X, ui size, float A, float B, float C );
  304. int  __vf   VF_cosec(   fVector Y, fVector X, ui size );
  305. int  __vf   VFx_cosec(  fVector Y, fVector X, ui size, float A, float B, float C );
  306.  
  307. int  __vf   VF_sin2(    fVector Y, fVector X, ui size );
  308. int  __vf   VFx_sin2(   fVector Y, fVector X, ui size, float A, float B, float C );
  309. int  __vf   VF_cos2(    fVector Y, fVector X, ui size );
  310. int  __vf   VFx_cos2(   fVector Y, fVector X, ui size, float A, float B, float C );
  311. int  __vf   VF_sincos2( fVector Sin, fVector Cos, fVector X, ui size );
  312. int  __vf   VFx_sincos2( fVector Sin, fVector Cos, fVector X, ui size, float A, float B, float C );
  313.  
  314. int  __vf   VF_tan2(     fVector Y, fVector X, ui size );
  315. int  __vf   VFx_tan2(    fVector Y, fVector X, ui size, float A, float B, float C );
  316. int  __vf   VF_cot2(     fVector Y, fVector X, ui size );
  317. int  __vf   VFx_cot2(    fVector Y, fVector X, ui size, float A, float B, float C );
  318. int  __vf   VF_sec2(     fVector Y, fVector X, ui size );
  319. int  __vf   VFx_sec2(    fVector Y, fVector X, ui size, float A, float B, float C );
  320. int  __vf   VF_cosec2(   fVector Y, fVector X, ui size );
  321. int  __vf   VFx_cosec2(  fVector Y, fVector X, ui size, float A, float B, float C );
  322.  
  323. int  __vf   VF_sinrpi(   fVector Y, iVector P, ui size, int q );
  324. int  __vf   VF_cosrpi(   fVector Y, iVector P, ui size, int q );
  325. int  __vf   VF_sincosrpi( fVector Sin, fVector Cos, iVector P, ui size, int q );
  326. int  __vf   VF_tanrpi(   fVector Y, iVector P, ui size, int q );
  327. int  __vf   VF_cotrpi(   fVector Y, iVector P, ui size, int q );
  328. int  __vf   VF_secrpi(   fVector Y, iVector P, ui size, int q );
  329. int  __vf   VF_cosecrpi( fVector Y, iVector P, ui size, int q );
  330.  
  331. int  __vf   VF_sinrpi2(  fVector Y, iVector P, ui size, int q );
  332. int  __vf   VF_cosrpi2(  fVector Y, iVector P, ui size, int q );
  333. int  __vf   VF_sincosrpi2( fVector Sin, fVector Cos, iVector P, ui size, int q );
  334. int  __vf   VF_tanrpi2(  fVector Y, iVector P, ui size, int q );
  335. int  __vf   VF_cotrpi2(  fVector Y, iVector P, ui size, int q );
  336. int  __vf   VF_secrpi2(  fVector Y, iVector P, ui size, int q );
  337. int  __vf   VF_cosecrpi2( fVector Y, iVector P, ui size, int q );
  338.  
  339. int  __vf   VF_sinrpi3(  fVector Y, iVector P, ui size, int q );
  340. int  __vf   VF_cosrpi3(  fVector Y, iVector P, ui size, int q );
  341. int  __vf   VF_sincosrpi3( fVector Sin, fVector Cos, iVector P, ui size, int q );
  342. int  __vf   VF_tanrpi3(  fVector Y, iVector P, ui size, int q );
  343. int  __vf   VF_cotrpi3(  fVector Y, iVector P, ui size, int q );
  344. int  __vf   VF_secrpi3(  fVector Y, iVector P, ui size, int q );
  345. int  __vf   VF_cosecrpi3( fVector Y, iVector P, ui size, int q );
  346.  
  347. int  __vf   VF_sinc(     fVector Y, fVector X, ui size );
  348. int  __vf   VFx_sinc(    fVector Y, fVector X, ui size, float A, float B, float C );
  349.  
  350. int  __vf   VF_asin(    fVector Y, fVector X, ui size );
  351. int  __vf   VFx_asin(   fVector Y, fVector X, ui size, float A, float B, float C );
  352. int  __vf   VF_acos(    fVector Y, fVector X, ui size );
  353. int  __vf   VFx_acos(   fVector Y, fVector X, ui size, float A, float B, float C );
  354. int  __vf   VF_atan(    fVector Y, fVector X, ui size );
  355. int  __vf   VFx_atan(   fVector Y, fVector X, ui size, float A, float B, float C );
  356. int  __vf   VF_atan2(   fVector Z, fVector X, fVector Y, ui size );
  357. int  __vf   VFx_atan2(  fVector Z, fVector X, fVector Y, ui size, float A, float B, float C );
  358.  
  359. int  __vf   VF_sinh(    fVector Y, fVector X, ui size );
  360. int  __vf   VFx_sinh(   fVector Y, fVector X, ui size, float A, float B, float C );
  361. int  __vf   VF_cosh(    fVector Y, fVector X, ui size );
  362. int  __vf   VFx_cosh(   fVector Y, fVector X, ui size, float A, float B, float C );
  363. int  __vf   VF_tanh(    fVector Y, fVector X, ui size );
  364. int  __vf   VFx_tanh(   fVector Y, fVector X, ui size, float A, float B, float C );
  365. int  __vf   VF_coth(    fVector Y, fVector X, ui size );
  366. int  __vf   VFx_coth(   fVector Y, fVector X, ui size, float A, float B, float C );
  367. int  __vf   VF_sech(    fVector Y, fVector X, ui size );
  368. int  __vf   VFx_sech(   fVector Y, fVector X, ui size, float A, float B, float C );
  369. int  __vf   VF_cosech(  fVector Y, fVector X, ui size );
  370. int  __vf   VFx_cosech( fVector Y, fVector X, ui size, float A, float B, float C );
  371. int  __vf   VF_sech2(   fVector Y, fVector X, ui size );
  372. int  __vf   VFx_sech2(  fVector Y, fVector X, ui size, float A, float B, float C );
  373.  
  374.  
  375. #ifdef __cplusplus
  376. }
  377. #endif
  378.  
  379.  
  380. #endif /* __VFMATH_H */
  381.